// RAP [rh] File names and extensions don't make sense in RAP
///*******************************************************************************
// * Copyright (c) 2000, 2007 IBM Corporation and others.
// * All rights reserved. This program and the accompanying materials
// * are made available under the terms of the Eclipse Public License v1.0
// * which accompanies this distribution, and is available at
// * http://www.eclipse.org/legal/epl-v10.html
// *
// * Contributors:
// * IBM Corporation - initial API and implementation
// *******************************************************************************/
//package org.eclipse.ui.internal.dialogs;
//
//import org.eclipse.jface.dialogs.Dialog;
//import org.eclipse.jface.dialogs.IDialogConstants;
//import org.eclipse.jface.dialogs.IDialogSettings;
//import org.eclipse.jface.dialogs.TitleAreaDialog;
//import org.eclipse.jface.layout.GridLayoutFactory;
//import org.eclipse.jface.layout.LayoutConstants;
//import org.eclipse.swt.SWT;
//import org.eclipse.swt.events.ModifyEvent;
//import org.eclipse.swt.events.ModifyListener;
//import org.eclipse.swt.graphics.Point;
//import org.eclipse.swt.layout.GridData;
//import org.eclipse.swt.widgets.Button;
//import org.eclipse.swt.widgets.Composite;
//import org.eclipse.swt.widgets.Control;
//import org.eclipse.swt.widgets.Label;
//import org.eclipse.swt.widgets.Shell;
//import org.eclipse.swt.widgets.Text;
//import org.eclipse.ui.PlatformUI;
//import org.eclipse.ui.internal.IWorkbenchHelpContextIds;
//import org.eclipse.ui.internal.WorkbenchMessages;
//import org.eclipse.ui.internal.WorkbenchPlugin;
//
///**
// * This class is used to prompt the user for a file name & extension.
// */
//public class FileExtensionDialog extends TitleAreaDialog {
//
// private static final String DIALOG_SETTINGS_SECTION = "FileExtensionDialogSettings"; //$NON-NLS-1$
//
// private String filename = ""; //$NON-NLS-1$
//
// private String initialValue;
//
// private Text filenameField;
//
// private Button okButton;
//
// private String title;
//
// private String helpContextId;
//
// private final String headerTitle;
//
// private final String message2;
//
// private final String label;
//
// /**
// * Constructs a new file extension dialog.
// * @param parentShell the parent shell
// */
// public FileExtensionDialog(Shell parentShell) {
// this(parentShell, WorkbenchMessages.get().FileExtension_shellTitle,
// IWorkbenchHelpContextIds.FILE_EXTENSION_DIALOG,
// WorkbenchMessages.get().FileExtension_dialogTitle,
// WorkbenchMessages.get().FileExtension_fileTypeMessage,
// WorkbenchMessages.get().FileExtension_fileTypeLabel);
// }
//
// /**
// * Constructs a new file extension dialog.
// *
// * @param parentShell the parent shell
// * @param title the dialog title
// * @param helpContextId the help context for this dialog
// * @param headerTitle the dialog header
// * @param message the dialog message
// * @param label the label for the "file type" field
// * @since 3.4
// */
// public FileExtensionDialog(Shell parentShell, String title, String helpContextId, String headerTitle, String message, String label) {
// super(parentShell);
// this.title = title;
// this.helpContextId = helpContextId;
// this.headerTitle = headerTitle;
// message2 = message;
// this.label = label;
//
// }
//
// /* (non-Javadoc)
// * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
// */
// protected void configureShell(Shell shell) {
// super.configureShell(shell);
// shell.setText(title);
// PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, helpContextId);
// }
//
//
// /* (non-Javadoc)
// * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
// */
// protected Control createDialogArea(Composite parent) {
// Composite parentComposite = (Composite) super.createDialogArea(parent);
//
// Composite contents = new Composite(parentComposite, SWT.NONE);
// contents.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
//
// setTitle(headerTitle);
// setMessage(message2);
//
// new Label(contents, SWT.LEFT)
// .setText(label);
//
// filenameField = new Text(contents, SWT.SINGLE | SWT.BORDER);
// if (initialValue != null) {
// filenameField.setText(initialValue);
// }
// filenameField.addModifyListener(new ModifyListener() {
// public void modifyText(ModifyEvent event) {
// if (event.widget == filenameField) {
// filename = filenameField.getText().trim();
// okButton.setEnabled(validateFileType());
// }
// }
// });
// filenameField.setFocus();
//
// Dialog.applyDialogFont(parentComposite);
//
// Point defaultMargins = LayoutConstants.getMargins();
// GridLayoutFactory.fillDefaults().numColumns(2).margins(
// defaultMargins.x, defaultMargins.y).generateLayout(contents);
//
// return contents;
// }
//
//
// /* (non-Javadoc)
// * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
// */
// protected void createButtonsForButtonBar(Composite parent) {
// okButton = createButton(parent, IDialogConstants.OK_ID,
// IDialogConstants.OK_LABEL, true);
// okButton.setEnabled(false);
// createButton(parent, IDialogConstants.CANCEL_ID,
// IDialogConstants.CANCEL_LABEL, false);
// }
//
// /**
// * Validate the user input for a file type
// */
// private boolean validateFileType() {
// // We need kernel api to validate the extension or a filename
//
// // check for empty name and extension
// if (filename.length() == 0) {
// setErrorMessage(null);
// return false;
// }
//
// // check for empty extension if there is no name
// int index = filename.lastIndexOf('.');
// if (index == filename.length() - 1) {
// if (index == 0 || (index == 1 && filename.charAt(0) == '*')) {
// setErrorMessage(WorkbenchMessages.get().FileExtension_extensionEmptyMessage);
// return false;
// }
// }
//
// // check for characters before *
// // or no other characters
// // or next chatacter not '.'
// // or another *
// index = filename.indexOf('*');
// if (index > -1) {
// if (filename.length() == 1) {
// setErrorMessage(WorkbenchMessages.get().FileExtension_extensionEmptyMessage);
// return false;
// }
// if (index != 0 || filename.charAt(1) != '.') {
// setErrorMessage(WorkbenchMessages.get().FileExtension_fileNameInvalidMessage);
// return false;
// }
// if (filename.length() > index && filename.indexOf('*', index + 1) != -1) {
// setErrorMessage(WorkbenchMessages.get().FileExtension_fileNameInvalidMessage);
// return false;
// }
// }
//
// setErrorMessage(null);
// return true;
// }
//
// /**
// * Get the extension.
// *
// * @return the extension
// */
// public String getExtension() {
// // We need kernel api to validate the extension or a filename
//
// int index = filename.lastIndexOf('.');
// if (index == -1) {
// return ""; //$NON-NLS-1$
// }
// if (index == filename.length()) {
// return ""; //$NON-NLS-1$
// }
// return filename.substring(index + 1, filename.length());
// }
//
// /**
// * Get the name.
// *
// * @return the name
// */
// public String getName() {
// // We need kernel api to validate the extension or a filename
//
// int index = filename.lastIndexOf('.');
// if (index == -1) {
// return filename;
// }
// if (index == 0) {
// return "*"; //$NON-NLS-1$
// }
// return filename.substring(0, index);
// }
//
// /**
// * Sets the initial value that should be prepopulated in this dialog.
// *
// * @param initialValue
// * the value to be displayed to the user
// * @since 3.4
// */
// public void setInitialValue(String initialValue) {
// this.initialValue = initialValue;
// }
//
// /* (non-Javadoc)
// * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
// */
// protected IDialogSettings getDialogBoundsSettings() {
// IDialogSettings settings = WorkbenchPlugin.getDefault().getDialogSettings();
// IDialogSettings section = settings.getSection(DIALOG_SETTINGS_SECTION);
// if (section == null) section = settings.addNewSection(DIALOG_SETTINGS_SECTION);
// return section;
// }
//
// /*
// * (non-Javadoc)
// * @see org.eclipse.jface.dialogs.Dialog#isResizable()
// */
// protected boolean isResizable() {
// return true;
// }
//}